'''


在 Python 中，`open` 函数用于打开文件，并指定文件的打开模式。
文件的打开模式决定了文件将如何被读取或写入。
`open` 函数的模式参数是一个字符串，可以包含以下几种模式：

1. `r`：读取模式（默认值）。文件指针将会放在文件的开头。如果文件不存在，抛出 `FileNotFoundError`。
2. `w`：写入模式。文件指针将会放在文件的开头。如果文件已存在，文件内容将被清空。如果文件不存在，创建新文件。
3. `a`：追加模式。文件指针将会放在文件的末尾。如果文件不存在，创建新文件。
4. `x`：独占创建模式。如果文件已存在，抛出 `FileExistsError`。如果文件不存在，创建新文件。
5. `b`：二进制模式。与上述模式结合使用，表示以二进制模式打开文件。
6. `t`：文本模式（默认值）。与上述模式结合使用，表示以文本模式打开文件。
7. `+`：更新模式。与上述模式结合使用，表示可以同时读取和写入文件。

常见组合模式

- `rt`：以文本模式读取文件（默认模式）。
- `wt`：以文本模式写入文件，覆盖现有内容。
- `at`：以文本模式追加内容到文件末尾。
- `rb`：以二进制模式读取文件。
- `wb`：以二进制模式写入文件，覆盖现有内容。
- `ab`：以二进制模式追加内容到文件末尾。
- `r+`：以读写模式打开文件，文件指针放在文件开头。
- `w+`：以读写模式打开文件，文件内容被清空，文件指针放在文件开头。
- `a+`：以读写模式打开文件，文件指针放在文件末尾。
- `rb+`：以读写模式打开文件，以二进制模式，文件指针放在文件开头。
- `wb+`：以读写模式打开文件，以二进制模式，文件内容被清空，文件指针放在文件开头。
- `ab+`：以读写模式打开文件，以二进制模式，文件指针放在文件末尾。


以文本模式读取文件
with open('example.txt', 'r') as f:
    content = f.read()
    print(content)

以文本模式写入文件
with open('example.txt', 'w') as f:
    f.write('Hello, World!')

以文本模式追加内容到文件末尾
with open('example.txt', 'a') as f:
    f.write('\nThis is a new line.')

以二进制模式读取文件
with open('example.bin', 'rb') as f:
    content = f.read()
    print(content)

以二进制模式写入文件
with open('example.bin', 'wb') as f:
    f.write(b'\x00\x01\x02')

以读写模式打开文件
with open('example.txt', 'r+') as f:
    content = f.read()
    print(content)
    f.seek(0)  # 移动文件指针到文件开头
    f.write('New content')

'''

import os

# 获取当前文件所在的目录
current_file_path = os.path.dirname(os.path.abspath(__file__))
print(current_file_path)

# 构建文件路径
file_path = os.path.join(current_file_path, "test.bin")
print(file_path)

with open(file_path, 'wb') as f:
    f.write(b'\x00\x01\x02')



with open(file_path, 'rb') as f:
    content = f.read()
    print(content)


def curFolderFile(fileName):
    # 获取当前文件所在的目录
    current_file_path = os.path.dirname(os.path.abspath(__file__))
    print(current_file_path)
    # 构建文件路径
    file_path = os.path.join(current_file_path, fileName)
    print(file_path)
    return file_path

file_path2 = curFolderFile('text2.txt')
with open(file_path2, 'w') as f:
    f.write('Hello, World!')

with open(file_path2, 'r') as f:
    content = f.read() # 读取文件内容, 光标会移动到文件末尾，读取所有
    print(content)


def checkFileExists(fileName):
    current_file_path = os.path.dirname(os.path.abspath(fileName))
    file_path = os.path.join(current_file_path, fileName)
    if not os.path.exists(file_path):
        print("文件不存在")
        return False
    else:
        print("文件存在")
        return True

checkFileExists('text2.txt')
checkFileExists('text3.txt')


